Ext.onReady(function(){
	var editUrl='../hf/accountManager.do?action=ajaxEdit';
	var deleteUrl='../hf/accountManager.do?action=ajaxDelete';
	var listUrl='../hf/accountManager.do?action=ajaxList';
	var formSaveUrl='../hf/accountManager.do?action=ajaxSave';
	var freezeUrl='../hf/accountManager.do?action=ajaxFreeze';
	var baseUrl='../hf/accountManager.do';
	
	var accountUrl='../hf/accountManager.do?action=ajaxAccountList';
	var setDefaultAccountUrl='../hf/accountManager.do?action=ajaxSetDefaultAccount';
	/*
	 * 查询过滤
	 */

	
	//加载从后台读取的数据
	//gridStore.load();

	//var temp=Ext.DomQuery.select('body');
	//定义form的字段
		var uniqueCode=new Ext.form.Hidden({
			name:'uniqueCode'
		});
		
		var templeteName=new Ext.form.TextField({
			fieldLabel:'帐户名称',
			allowBlank:false,
			name:'accountName',
			anchor:'80%'
		});
		
		var tableSrc=new Ext.form.TextField({
			fieldLabel:'帐户类型',
			allowBlank:false,
			name:'accountType',
			anchor:'80%'
		});
	
	var formFields=[
				uniqueCode,
				templeteName,
				tableSrc,
				new Ext.form.NumberField({
					fieldLabel:'初始金额',
					emptyText:'请填写整数',
					anchor:'80%',
					name:'initialMoney',
					allowDecimals:false,
					maxValue:200,
					minValue:0
				}),
				new Ext.form.Radio({
					fieldLabel:'是否冻结',
					allowBlank:false,
					boxLabel:'是',
					clearCls:'allow-float',		//允许两边浮动
					itemCls:'float-left',		//向左浮动
					name:'isFreeze',
					inputValue:'1',
					layout:'column'
				}),
				new Ext.form.Radio({
					boxLabel:'否',
					labelWidth:0,
					hideLabel:true,
					name:'isFreeze',
					invalidText:'此项为必选选项',	
					showInvalidText:true,		//在此控件后添加错误提示
					labelSeparator:'',
					layout:'column',
					inputValue:'0'
				}),
				new Ext.form.TextField({
					fieldLabel:'帐号备注',
					name:'accountRemark',
					anchor:'80%',
					itemCls:'stop-float'
				}),
				new Ext.form.Radio({
					fieldLabel:'是否默认帐号',
					allowBlank:false,
					boxLabel:'是',
					clearCls:'allow-float',		//允许两边浮动
					itemCls:'float-left',		//向左浮动
					name:'isDefault',
					inputValue:'1',
					layout:'column'
				}),
				new Ext.form.Radio({
					boxLabel:'否',
					labelWidth:0,
					hideLabel:true,
					name:'isDefault',
					invalidText:'此项为必选选项',	
					showInvalidText:true,		//在此控件后添加错误提示
					labelSeparator:'',
					layout:'column',
					inputValue:'0'
				})
			];
	
	var filters = new Ext.grid.GridFilters({
	  filters:[
	    {type: 'string',  dataIndex: 'accountName'},
	    {type: 'string',  dataIndex: 'accountType'},
	    {type: 'numeric', dataIndex: 'initialMoney'},
	    {type: 'date',  dataIndex: 'createDate'},
	    {type: 'numeric', dataIndex: 'moneyNum'},
	    {type: 'string', dataIndex: 'accountRemark'},
	    {type: 'boolean', dataIndex: 'isFreeze',yesText:'是',noText:'否'},
	    {type: 'boolean', dataIndex: 'isDefault',yesText:'是',noText:'否'}
	]});
	
	
	
	//accountStore.load();
	
	Ext.ux.AccountGrid=function(config){
		
		this.setDefaultAccountUrl=config.setDefaultAccountUrl;
		this.accountStore=new Ext.data.Store( {
			proxy : new Ext.data.HttpProxy( {
				url : config.accountUrl
			}),
			reader : new Ext.data.JsonReader( {}, [ {
				name : 'uniqueCode'
			}, {
				name : 'accountName'
			}])
		});
		
		var freezeMenu=new Ext.menu.Menu({
			id:'freezeMenu',
			items:[{
                    text: '冻结账户',
                    iconCls:'blist',
                    handler:this.freeze.createDelegate(this,[{isFreeze:'1'}])           //处理按钮被点击时触发的时间函数
                    
                }, {
                    text: '解冻账户',
                    iconCls:'blist',
                    handler:this.freeze.createDelegate(this,[{isFreeze:'0'}])           //处理按钮被点击时触发的时间函数
               }
			]
		});
		
		config.tbarForward=['-',{
			text:'冻结/解冻帐户',					//删除按钮的名称
			tooltip:'冻结/解冻帐户',				//鼠标停留在按钮上的提示			
			menu:freezeMenu,
			iconCls:'bmenu'
		},'-', '选择默认的账号: ', ' ',
        new Ext.form.ComboBox({
            listClass:'x-combo-list-small',
            emptyText:'请选择账号...',
            width:150,
            title:'账号名称',
            mode:'remote',
            triggerAction : 'all',
            id:'accountCombo',
            valueField : 'uniqueCode',
            displayField: 'accountName',
            store:this.accountStore,        
            readOnly : true,
			resizable : true
         }),'',{
			text:'确定',					//删除按钮的名称
			tooltip:'确定',				//鼠标停留在按钮上的提示
			handler:this.setDefaultAccount.createDelegate(this),
			ctCls :'x-btn-pressed'		//修改button的css
		}];
		
		/*config.tbar=new Ext.Toolbar([{//grid顶部栏位
			text:'添加',					//按钮的名称
			tooltip:'添加数据',				//鼠标停留在按钮上的提示
			iconCls:'add',					//按钮图表的类
			handler:this.newInfo.createDelegate(this)			//处理按钮被点击时触发的时间函数
		},'-',{//'-'为多按钮间隔符
			text:'删除',					//删除按钮的名称
			tooltip:'删除数据',				//鼠标停留在按钮上的提示
			iconCls:'remove',				//按钮图表的类
			handler:this.handlerDelete.createDelegate(this)			//处理按钮被点击时触发的时间函数
		},'-',{
			text:'导出Excel',					//删除按钮的名称
			tooltip:'导出Excel',				//鼠标停留在按钮上的提示
			iconCls:'exportExcel',
			handler:this.exportExcel.createDelegate(this)			//处理按钮被点击时触发的时间函数
		},'-',{
			text:'冻结/解冻帐户',					//删除按钮的名称
			tooltip:'冻结/解冻帐户',				//鼠标停留在按钮上的提示			
			menu:freezeMenu,
			iconCls:'bmenu'
		},'-', '选择默认的账号: ', ' ',
        new Ext.form.ComboBox({
            listClass:'x-combo-list-small',
            emptyText:'请选择账号...',
            width:150,
            title:'账号名称',
            mode:'remote',
            triggerAction : 'all',
            id:'accountCombo',
            valueField : 'uniqueCode',
            displayField: 'accountName',
            store:this.accountStore,        
            readOnly : true,
			resizable : true
         }),'',{
			text:'确定',					//删除按钮的名称
			tooltip:'确定',				//鼠标停留在按钮上的提示
			handler:this.setDefaultAccount.createDelegate(this),
			ctCls :'x-btn-pressed'		//修改button的css
		},'->',{
			text:'重置查询条件',					//删除按钮的名称
			iconCls :'reset',		//修改button的css
			handler:this.resetFilter.createDelegate(this)
		}]);*/
		this.freezeUrl=config.freezeUrl;
		Ext.ux.AccountGrid.superclass.constructor.call(this,config);
	}
	
	
	Ext.extend(Ext.ux.AccountGrid,Ext.ux.GridExtend,{
		freeze:function(params){		
			this.sendId(this.freezeUrl,params);
		},
		setDefaultAccount:function(){
			var value=Ext.getCmp('accountCombo').getValue();
			if(value==undefined||value==''){
			     Ext.MessageBox.alert('消息','请选择账号!');
			}else{
			     this.ajaxRequest(this.setDefaultAccountUrl,{uniqueCode:value});
			}
		},
		reloadStore:function(){
			this.accountStore.reload();
		},
		resetFilter:function(){
			this.filters.clearFilters();
		}
	});

	var grid=new Ext.ux.AccountGrid({
		baseUrl:baseUrl,
		editUrl:editUrl,
		deleteUrl:deleteUrl,
		listUrl:listUrl,
		formSaveUrl:formSaveUrl,
		el:'grid',
		formFields:formFields,
		filters:filters,
		freezeUrl:freezeUrl,
		accountUrl:accountUrl,
		setDefaultAccountUrl:setDefaultAccountUrl,		
		cmDataArray:[{
			header:'帐户名称',				//列名称
			sortable: true,
			dataIndex:'accountName'		//数据对应名称
		},{
			sortable: true,
			header:'帐户类型',				//列名称
			dataIndex:'accountType'			//数据对应名称
		},{
			sortable: true,
			header:'初始金额',				//列名称
			dataIndex:'initialMoney'			//数据对应名称		
		},{
			sortable: true,
			header:'帐户金额 ',				//列名称
			dataIndex:'moneyNum',			//数据对应名称
			renderer:function(value){
				if(value=='null'){
					return '0';
				}else{
					return value;
				}
			}
		},{
			sortable: true,
			header:'帐号备注',				//列名称
			dataIndex:'accountRemark'			//数据对应名称		
		},{
			sortable: true,
			header:'是否冻结',				//列名称
			dataIndex:'isFreeze',			//数据对应名称
			renderer:function(value){
				if(value==1){
					return '是';
				}else if(value==0){
					return '否';
				}else{
					return ;
				}
			}
		},{
			sortable: true,
			header:'是否默认帐号',				//列名称
			dataIndex:'isDefault',			//数据对应名称
			renderer:function(value){
				if(value==1){
					return '是';
				}else if(value==0){
					return '否';
				}else{
					return ;
				}
			}
		},{
			sortable: true,
			header:'创建日期',				//列名称
			dataIndex:'createDate'			//数据对应名称		
		}]
	}).render(); 
});